home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1997 #3 / Amiga Plus CD - 1997 - No. 03.iso / pd / programmierung / alienbreed3d2_src / cheesesauce / andy.lha / WALLCHUNK.s < prev    next >
Text File  |  1995-09-14  |  3KB  |  175 lines

  1.  
  2.  
  3. RELEASEWALLMEM:
  4.  move.l #walltiles,a0
  5.  move.l #wallchunkdata,a5
  6. relmem:
  7.  move.l 4(a5),d0
  8.  beq.s relall
  9.  
  10.  move.l (a0),d1
  11.  beq.s notthismem
  12.  
  13.  move.l d1,a1
  14.  move.l 4.w,a6
  15.  movem.l a0/a5,-(a7)
  16.  jsr -210(a6)
  17.  movem.l (a7)+,a0/a5
  18.  
  19.  
  20. notthismem:
  21.  addq #8,a5
  22.  addq #4,a0
  23.  bra.s relmem
  24.  
  25. relall:
  26.  rts
  27.  
  28. LOADWALLS:
  29.  
  30.  PRSDM
  31.  move.l #walltiles,a0
  32.  moveq #39,d7
  33. emptywalls:
  34.  move.l #0,(a0)+
  35.  dbra d7,emptywalls
  36.  
  37.  move.l #walltiles,a4
  38.  move.l #wallchunkdata,a3
  39. loademin:
  40.  move.l 4(a3),d0
  41.  beq loadedall
  42.  
  43.  move.l d0,UNPACKED
  44.  
  45.  movem.l a4/a3,-(a7)
  46.  
  47.  move.l (a3),blockname
  48.  
  49.  move.l doslib,a6
  50.  move.l blockname,d1
  51.  move.l #1005,d2
  52.  jsr -30(a6)
  53.  move.l d0,handle
  54.  
  55.  lea fib,a5
  56.  move.l handle,d1
  57.  move.l a5,d2
  58.  jsr -390(a6)
  59.  move.l $7c(a5),blocklen
  60.  
  61.  move.l #1,d1
  62.  move.l 4.w,a6
  63.  move.l UNPACKED,d0
  64.  jsr -198(a6)
  65.  move.l d0,blockstart
  66.  move.l doslib,a6
  67.  move.l handle,d1
  68.  move.l #WorkSpace,d2
  69.  move.l blocklen,d3
  70.  jsr -42(a6)
  71.  move.l doslib,a6
  72.  move.l handle,d1
  73.  jsr -36(a6)
  74.  
  75.  move.l #WorkSpace,d0
  76.  moveq #0,d1
  77.  move.l blockstart,a0
  78.  move.l LEVELDATA,a1
  79.  lea $0,a2
  80.  jsr unLHA
  81.  
  82.  movem.l (a7)+,a4/a3
  83.  
  84.  move.l blockstart,(a4)+
  85.  move.l UNPACKED,4(a3)
  86.  
  87.  addq #8,a3
  88.  bra loademin
  89.  
  90. loadedall:
  91.  PRSDN
  92.  rts
  93.  
  94. handle: dc.l 0
  95.  
  96. UNPACKED: dc.l 0
  97.  
  98. walltiles:
  99.  ds.l 40
  100.  
  101. wallchunkdata:
  102.  dc.l GreenMechanicNAME,18560
  103.  dc.l BlueGreyMetalNAME,13056
  104.  dc.l TechnoDetailNAME,13056
  105.  dc.l BlueStoneNAME,4864
  106.  dc.l RedAlertNAME,7552
  107.  dc.l RockNAME,10368
  108.  dc.l scummyNAME,13056
  109.  dc.l stairfrontsNAME,2400
  110.  dc.l bigdoorNAME,13056
  111.  dc.l redrockNAME,13056
  112.  dc.l dirtNAME,24064
  113.  dc.l SwitchesNAME,3456
  114.  dc.l shinyNAME,24064
  115.  dc.l bluemechNAME,15744
  116.  dc.l 0,0
  117.  
  118. GreenMechanicNAME:
  119.  dc.b 'AB3D1:includes/walls/greenmechanic.wad'
  120.  dc.b 0 
  121.  even
  122. BlueGreyMetalNAME:
  123.  dc.b 'AB3D1:includes/walls/bluegreymetal.wad'
  124.  dc.b 0
  125.  even
  126. TechnoDetailNAME:
  127.  dc.b 'AB3D1:includes/walls/technodetail.wad'
  128.  dc.b 0
  129.  even
  130. BlueStoneNAME:
  131.  dc.b 'AB3D1:includes/walls/bluestone.wad'
  132.  dc.b 0
  133.  even
  134. RedAlertNAME:
  135.  dc.b 'AB3D1:includes/walls/redalert.wad'
  136.  dc.b 0
  137.  even
  138. RockNAME:
  139.  dc.b 'AB3D1:includes/walls/rock.wad'
  140.  dc.b 0
  141.  even
  142. scummyNAME:
  143.  dc.b 'AB3D1:includes/walls/scummy.wad'
  144.  dc.b 0
  145.  even
  146. stairfrontsNAME:
  147.  dc.b 'AB3D1:includes/walls/stairfronts.wad'
  148.  dc.b 0
  149.  even
  150. bigdoorNAME:
  151.  dc.b 'AB3D1:includes/walls/bigdoor.wad'
  152.  dc.b 0
  153.  even
  154. redrockNAME:
  155.  dc.b 'AB3D1:includes/walls/redrock.wad'
  156.  dc.b 0
  157.  even
  158. dirtNAME:
  159.  dc.b 'AB3D1:includes/walls/dirt.wad'
  160.  dc.b 0
  161.  even
  162. SwitchesNAME:
  163.  dc.b 'AB3D1:includes/walls/switches.wad'
  164.  dc.b 0
  165.  even 
  166. shinyNAME:
  167.  dc.b 'AB3D1:includes/walls/shinymetal.wad'
  168.  dc.b 0
  169.  even
  170. bluemechNAME:
  171.  dc.b 'AB3D1:includes/walls/bluemechanic.wad'
  172.  dc.b 0
  173.  even
  174.  
  175.